﻿-------------------------WYKONANE 5.02.2013R.-----------------------------------------------------------------------------------------------
ALTER TABLE oem.adres_wysylki ADD COLUMN telefon character varying(100);
ALTER TABLE oem.adres_wysylki ADD COLUMN e_mail character varying(100);E:\_WIREMET\WIREMET\code\WIREMET\SQL\UPDATE_TABLE.sql

ALTER TABLE oem.pracownik ADD COLUMN login VARCHAR(50);
ALTER TABLE oem.pracownik ADD COLUMN haslo VARCHAR(50);

--6.01.2013

ALTER TABLE oem.pozycje_wysylki ALTER COLUMN ilosc TYPE DOUBLE PRECISION;

--8.01.2013r.

uruchomic skrypt schemat_locks 'E:\_WIREMET\schemat_bazy\schemat_locks.txt'

ALTER TABLE oem.zlecenie ADD COLUMN numer_zamowienia_klienta VARCHAR(40);

--9.01.2013r.

CREATE TABLE oem.paczki_wysylki
(
  id serial NOT NULL,
  wysylka_id INTEGER,
  waga DOUBLE PRECISION,
  CONSTRAINT paczki_wysylki_pk PRIMARY KEY (id),
  CONSTRAINT paczki_wysylki_wysylka_id_fk FOREIGN KEY (wysylka_id) REFERENCES oem.wysylka
 );


 --11.01.2013r.

 ALTER TABLE oem.klient ALTER COLUMN nazwa_pelna TYPE VARCHAR(150);
ALTER TABLE oem.klient ALTER COLUMN nazwa_skrocona TYPE VARCHAR(100);
ALTER TABLE oem.klient ALTER COLUMN ulica TYPE VARCHAR(100);
ALTER TABLE oem.klient ALTER COLUMN numer TYPE VARCHAR(100);
ALTER TABLE oem.klient ALTER COLUMN kod_pocztowy TYPE VARCHAR(100);
ALTER TABLE oem.klient ALTER COLUMN kraj TYPE VARCHAR(100);
ALTER TABLE oem.klient ALTER COLUMN e_mail TYPE VARCHAR(100);
ALTER TABLE oem.klient ALTER COLUMN kraj TYPE VARCHAR(100);
ALTER TABLE oem.klient ALTER COLUMN wysylka TYPE VARCHAR(100);

ALTER TABLE oem.adres_wysylki ALTER COLUMN ulica TYPE VARCHAR(100);
ALTER TABLE oem.adres_wysylki ALTER COLUMN numer TYPE VARCHAR(100);
ALTER TABLE oem.adres_wysylki ALTER COLUMN kod_pocztowy TYPE VARCHAR(100);
ALTER TABLE oem.adres_wysylki ALTER COLUMN miejscowosc TYPE VARCHAR(100);
ALTER TABLE oem.adres_wysylki ALTER COLUMN kraj TYPE VARCHAR(100);

--16.01.2013r.

ALTER TABLE oem.paczki_wysylki ADD COLUMN numer_listu_przewozowego character varying(100);

--17.01.2013r.

CREATE TABLE oem.status_wysylki
(
  id serial NOT NULL,
  nazwa VARCHAR(20),
  CONSTRAINT status_wysylki_pk PRIMARY KEY (id)
 );

ALTER TABLE oem.zlecenie ADD COLUMN status_wysylki_id INTEGER;
ALTER TABLE oem.zlecenie ADD COLUMN opis_zakonczenia VARCHAR(400);
ALTER TABLE oem.zlecenie ADD CONSTRAINT zlecenie_status_wysylki_id_fk FOREIGN KEY (status_wysylki_id) REFERENCES oem.status_wysylki;

INSERT INTO oem.status_wysylki (nazwa) VALUES ('nie rozpoczęta');
INSERT INTO oem.status_wysylki (nazwa) VALUES ('realizowana');
INSERT INTO oem.status_wysylki (nazwa) VALUES ('zakończona');


UPDATE oem.zlecenie
SET status_wysylki_id = 1;

INSERT INTO oem.pracownik (numer, imie, nazwisko, login, haslo) VALUES (2222, 'Dorota', 'Kopka', 'admin', 'admin');
-------------------------WYKONANE 5.02.2013R.----------------------------------------------------------------------------

--5.02.2013r.
UPDATE oem.status_wysylki
SET nazwa ='częściowo wysłana'
WHERE id = 2;

ALTER TABLE oem.wysylka ALTER COLUMN numer TYPE VARCHAR(15);

UPDATE oem.pracownik SET imie= 'Admin', nazwisko = 'Admin'  WHERE id = 10
-------------------------WYKONANE 12.02.2013R.--------------------------------------------------------------------------------------------
--18.02.2013R
ALTER TABLE oem.pozycje_zlecenia ADD COLUMN powierzony_material BOOLEAN;

--22.02.2013R.
ALTER TABLE oem.pozycje_zlecenia DROP COLUMN cena_pakowania;
ALTER TABLE oem.pozycje_zlecenia ADD COLUMN cena_opakowania BOOLEAN;
UPDATE oem.pozycje_zlecenia SET cena_opakowania = TRUE;

ALTER TABLE oem.pakowanie ADD COLUMN cena DOUBLE PRECISION;
--------------------------WYKONANE 25.02.2013R.-----------------------------------------------------------------------------------------

--26.02.2013R.
CREATE TABLE oem.funkcja
(
	id 	SERIAL,
	nazwa 	VARCHAR(50),
	CONSTRAINT funkcja_pk PRIMARY KEY (id)
);

CREATE TABLE oem.uprawnienia 
(
	id 			SERIAL,
	pracownik_id		INTEGER,
	funkcja_id			INTEGER,
	wyzn_modyfikacji	BOOLEAN,
	wyzn_odczytu		BOOLEAN,
	CONSTRAINT uprawnienia_pk PRIMARY KEY (id),
	CONSTRAINT uprawnienia_pracownik_id_fk FOREIGN KEY (pracownik_id) REFERENCES oem.pracownik,
	CONSTRAINT uprawnienia_funkcja_id_fk FOREIGN KEY (funkcja_id) REFERENCES oem.funkcja
)

--27.02. i 28.02.
INSERT INTO oem.funkcja (nazwa) VALUES ('zlecenie');
INSERT INTO oem.funkcja (nazwa) VALUES ('wysylka');
INSERT INTO oem.funkcja (nazwa) VALUES ('pracownik');

INSERT INTO oem.uprawnienia (pracownik_id, funkcja_id, wyzn_modyfikacji, wyzn_odczytu) VALUES (6,1, TRUE, TRUE);
INSERT INTO oem.uprawnienia (pracownik_id, funkcja_id, wyzn_modyfikacji, wyzn_odczytu) VALUES (6,2, TRUE, TRUE);
INSERT INTO oem.uprawnienia (pracownik_id, funkcja_id, wyzn_modyfikacji, wyzn_odczytu) VALUES (6,3, TRUE, TRUE);
--------------------------WYKONANE 6.03.2013R.------------------------------------------------------------------------------------------


--12.03.2013
ALTER TABLE oem.paczki_wysylki ADD COLUMN firma_kurierska VARCHAR(30);

--------------------------WYKONANE 14.03.2013R.-------------------------------------------------------------------------------------------

--18.03.

CREATE TABLE oem.potwierdzenie_zlecenia 
(
	id		SERIAL,
	zlecenie_id	INTEGER,
	informacje	VARCHAR(400),
	CONSTRAINT potwierdzenie_zlecenia_pk PRIMARY KEY (id),
	CONSTRAINT potwierdzenie_zlecenia_zlecenie_id_fk FOREIGN KEY (zlecenie_id) REFERENCES oem.zlecenie
);

--------------------------WYKONANE 19.03.2013R.-------------------------------------------------------------------------------------------

--26.03.
ALTER TABLE oem.klient ADD COLUMN uwagi VARCHAR(10000);


UPDATE oem.klient SET etykieta = 'true' WHERE etykieta = 'tak';
UPDATE oem.klient SET etykieta = 'true' WHERE etykieta = 'TAK';
UPDATE oem.klient SET etykieta = 'true' WHERE etykieta = 'Tak';
UPDATE oem.klient SET etykieta = 'true' WHERE etykieta = 'True';
UPDATE oem.klient SET etykieta = 'true' WHERE etykieta = '';
UPDATE oem.klient SET etykieta = 'false' WHERE etykieta = 'nie';
UPDATE oem.klient SET etykieta = 'false' WHERE etykieta = 'NIE';
UPDATE oem.klient SET etykieta = 'false' WHERE etykieta = 'Nie';
UPDATE oem.klient SET etykieta = 'false' WHERE etykieta = 'False';

--28.03.

CREATE TABLE oem.schemat_produkcji
(
	id 			SERIAL,
	pozycje_zlecenia_id	INTEGER,
	pracownik_id		INTEGER,
	data_utworzenia 	TIMESTAMP,
	schemat			VARCHAR(10000),
	CONSTRAINT schemat_produkcji_pk PRIMARY KEY (id),
	CONSTRAINT schemat_produkcji_pozycje_zlecenia_id_fk FOREIGN KEY (pozycje_zlecenia_id) REFERENCES oem.pozycje_zlecenia,
	CONSTRAINT schemat_produkcji_pracownik_id_fk FOREIGN KEY (pracownik_id) REFERENCES oem.pracownik
);


--18.04.

CREATE TABLE oem.firma_kurierska
(
	id 		SERIAL,
	nazwa		VARCHAR(100),
	CONSTRAINT firma_kurierska_pk PRIMARY KEY (id)
);
---------------------WYKONANE
uzupelnic tabele firma kurierska

UPDATE oem.paczki_wysylki SET firma_kurierska = (SELECT id FROM oem.firma_kurierska WHERE nazwa = paczki_wysylki.firma_kurierska);
ALTER TABLE oem.paczki_wysylki ALTER COLUMN firma_kurierska TYPE INTEGER USING firma_kurierska::INTEGER;
ALTER TABLE oem.paczki_wysylki RENAME COLUMN firma_kurierska TO firma_kurierska_id;
ALTER TABLE oem.paczki_wysylki ADD CONSTRAINT paczki_wysylki_firma_kurierska_id_fk FOREIGN KEY (firma_kurierska_id) REFERENCES oem.firma_kurierska;
UPDATE oem.paczki_wysylki SET firma_kurierska_id = 3 WHERE firma_kurierska_id is null;

--------------------------WYKONANE 22.04.2013R.-------------------------------------------------------------------------------------------

--19.04.
CREATE TABLE oem.maszyna
(
	id 				SERIAL,
	numer			INTEGER,
	nazwa			VARCHAR(100),
	opis			VARCHAR(500),
	wydluzenie_1	DOUBLE PRECISION,
	wydluzenie_2	DOUBLE PRECISION,
	CONSTRAINT maszyna_pk PRIMARY KEY (id)
);

--6.05.
ALTER TABLE  oem.schemat_produkcji DROP COLUMN schemat;

ALTER TABLE  oem.schemat_produkcji ADD COLUMN data_zmiany TIMESTAMP;
ALTER TABLE  oem.schemat_produkcji ADD COLUMN pracownik_zmiany_id INTEGER;
ALTER TABLE  oem.schemat_produkcji ADD CONSTRAINT schemat_produkcji_pracownik_zmiany_id_fk FOREIGN KEY (pracownik_zmiany_id) REFERENCES oem.pracownik;
	
CREATE TABLE oem.pozycje_schematu_produkcji
(
	id 			SERIAL,
	schemat_produkcji_id	INTEGER,
	pracownik_id		INTEGER,
	pakowanie_id		INTEGER,
	maszyna_id		INTEGER,
	wymiar_wejsciowy 	DOUBLE PRECISION,
	wymiar_koncowy		DOUBLE PRECISION,
	uwagi			VARCHAR(5000),
	CONSTRAINT pozycje_schematu_produkcji_pk PRIMARY KEY (id),
	CONSTRAINT pozycje_schematu_produkcji_schemat_produkcji_id_fk FOREIGN KEY (schemat_produkcji_id) REFERENCES oem.schemat_produkcji,
	CONSTRAINT pozycje_schematu_produkcji_pracownik_id_fk FOREIGN KEY (pracownik_id) REFERENCES oem.pracownik,
	CONSTRAINT pozycje_schematu_produkcji_pakowanie_id_fk FOREIGN KEY (pakowanie_id) REFERENCES oem.pakowanie,
	CONSTRAINT pozycje_schematu_produkcji_maszyna_id_fk FOREIGN KEY (maszyna_id) REFERENCES oem.maszyna
);

--16.05.

CREATE TABLE oem.magazyn
(
	id 				SERIAL,
	nazwa			VARCHAR(100),
	CONSTRAINT magazyn_pk PRIMARY KEY (id)
);

ALTER TABLE  oem.pozycje_zlecenia ADD COLUMN magazyn_id INTEGER;
ALTER TABLE  oem.pozycje_zlecenia ADD CONSTRAINT pozycje_zlecenia_magazyn_id_fk FOREIGN KEY (magazyn_id) REFERENCES oem.magazyn;
	

	--17.05.
	INSERT INTO oem.pozycje_zlecenia (magazyn_id) VALUES (1);


--------------------------WYKONANE 17.05.2013R.-------------------------------------------------------------------------------------------


DELETE FROM oem.pozycje_zlecenia WHERE id = 467;
UPDATE oem.pozycje_zlecenia SET magazyn_id = 1; 

--------------------------WYKONANE 20.05.2013R.-------------------------------------------------------------------------------------------

--20.05.
CREATE TABLE oem.grupa_maszyny
(
	id 			SERIAL,
	nazwa			VARCHAR(255),
	CONSTRAINT grupa_maszyny_pk PRIMARY KEY (id)
);

ALTER TABLE  oem.maszyna ADD COLUMN grupa_maszyny_id INTEGER;
ALTER TABLE  oem.maszyna ADD CONSTRAINT maszyna_grupa_maszyny_id_fk FOREIGN KEY (grupa_maszyny_id) REFERENCES oem.grupa_maszyny;
	
dodac do tabeli 'oem.grupa_maszyny' wartosc 
UPDATE oem.maszyna SET grupa_maszyny_id = 1; 

--21.05.

ALTER TABLE  oem.pozycje_schematu_produkcji ADD COLUMN grupa_maszyny_id INTEGER;
ALTER TABLE  oem.pozycje_schematu_produkcji ADD CONSTRAINT pozycje_schematu_produkcji_grupa_maszyny_id_fk FOREIGN KEY (grupa_maszyny_id) REFERENCES oem.grupa_maszyny;

--------------------------WYKONANE 24.05.2013R.-------------------------------------------------------------------------------------------


--4.06.
UPDATE oem.klient SET etykieta = 'true' WHERE etykieta = 'tak ';
--------------------------WYKONANE 4.06.2013R.-------------------------------------------------------------------------------------------


--7.06.
ALTER TABLE  oem.schemat_produkcji ADD COLUMN uwagi VARCHAR(5000);

ALTER TABLE  oem.pozycje_schematu_produkcji DROP COLUMN maszyna_id CASCADE;

--DROP TABLE oem.maszyna_pozycji_schematu_produkcji CASCADE
CREATE TABLE oem.maszyna_pozycji_schematu
(
	id 								SERIAL,
	pozycje_schematu_produkcji_id	INTEGER,
	maszyna_id						INTEGER,
	CONSTRAINT maszyna_pozycji_schematu_pk PRIMARY KEY (id),
	CONSTRAINT maszyna_pozycji_schematu_pozycje_schematu_produkcji_id_fk FOREIGN KEY (pozycje_schematu_produkcji_id) REFERENCES oem.pozycje_schematu_produkcji,
	CONSTRAINT maszyna_pozycji_schematu_maszyna_id_fk FOREIGN KEY (maszyna_id) REFERENCES oem.maszyna
);

CREATE TABLE oem.tmp_wydruk_schematu 
	(
		id							SERIAL,
		klucz						TIMESTAMP,
		id_pozycji_zlecenia			INTEGER,
		material					VARCHAR(255),
		magazyn						VARCHAR(255),
		material_powierzony			BOOLEAN,
		wymiar						VARCHAR(255),
		ilosc						VARCHAR(255),
		jednostka					VARCHAR(255),
		tol_dolna					VARCHAR(255),
		tol_gorna					VARCHAR(255),
		wytrzymalosc_min			VARCHAR(255),
		wytrzymalosc_max			VARCHAR(255),
		wydluzenie					VARCHAR(255),
		pakowanie_pozycja_zlecenia	VARCHAR(255),
		uwagi_pozycja_zlecenia		VARCHAR(5000),
		id_schematu_produkcji		INTEGER,
		uwagi_schematu_produkcji	VARCHAR(5000),
		id_pozycji_schematu			INTEGER,
		grupa_maszyny				VARCHAR(255),
		maszyna						VARCHAR(255),
		wymiar_wejsciowy			DOUBLE PRECISION,
		wymiar_koncowy				DOUBLE PRECISION,
		pakowanie					VARCHAR(255),
		pracownik					VARCHAR(255),
		uwagi_pozycji_schematu		VARCHAR(5000),
		CONSTRAINT tmp_wydruk_schematu_pk PRIMARY KEY (id)
	);

--funkcja wydruk_schematu
CREATE OR  REPLACE  FUNCTION oem.wydruk_schematu (id_schematu INTEGER) RETURNS VARCHAR AS
$BODY$
DECLARE
	klucz 				TIMESTAMP;
	row_pozycji_zlecenia 		oem.pozycje_zlecenia%ROWTYPE;
	nazwa_material			VARCHAR;
	nazwa_magazyn			VARCHAR;
	nazwa_jednostka			VARCHAR;
	nazwa_pakowanie_poz_zlecenia	VARCHAR;
	row_schematu_produkcji 		oem.schemat_produkcji%ROWTYPE;
	row_pozycji_schematu 		oem.pozycje_schematu_produkcji%ROWTYPE;
	nazwa_grupa 			VARCHAR;
	nazwa_pakowanie 		VARCHAR;
	nazwa_pracownik 		VARCHAR;
	row_maszyny 			oem.maszyna%ROWTYPE;
	wynik 				VARCHAR;
BEGIN

	klucz := now();
---------------------------------POZYCJE ZLECENIA--------------------------------------------------------------------------------------------------------------------------------
	SELECT * INTO row_pozycji_zlecenia FROM oem.pozycje_zlecenia, oem.schemat_produkcji WHERE pozycje_zlecenia.id = schemat_produkcji.pozycje_zlecenia_id AND schemat_produkcji.id = id_schematu;
--MATERIAL
	SELECT nazwa INTO nazwa_material FROM oem.material_ogolnie WHERE id = row_pozycji_zlecenia.material_ogolnie_id;
--MAGAZYN
	SELECT nazwa INTO nazwa_magazyn FROM oem.magazyn WHERE id = row_pozycji_zlecenia.magazyn_id;
--JEDNOSTKA
	SELECT jednostka INTO nazwa_jednostka FROM oem.jednostka_miary WHERE id = row_pozycji_zlecenia.jednostka_miary_id;
--PAKOWANIE
	SELECT nazwa INTO nazwa_pakowanie_poz_zlecenia FROM oem.pakowanie WHERE id = row_pozycji_zlecenia.pakowanie_id;

	
---------------------------------SCHEMAT PRODUKCJI--------------------------------------------------------------------------------------------------------------------------------

	  SELECT * INTO row_schematu_produkcji FROM oem.schemat_produkcji WHERE schemat_produkcji.id = id_schematu;
	
-----------------------------------------------------------POZYCJE SCHEMATU--------------------------------------------------------------------------------------------------------------------------------
	FOR row_pozycji_schematu IN SELECT * FROM oem.pozycje_schematu_produkcji WHERE pozycje_schematu_produkcji.schemat_produkcji_id = row_schematu_produkcji.id
	LOOP
--GRUPA MASZYNY
	SELECT nazwa INTO nazwa_grupa FROM oem.grupa_maszyny WHERE id = row_pozycji_schematu.grupa_maszyny_id;
--MASZYNA
	wynik := '';
	FOR row_maszyny IN SELECT * FROM oem.maszyna, oem.maszyna_pozycji_schematu WHERE maszyna_pozycji_schematu.pozycje_schematu_produkcji_id = row_pozycji_schematu.id AND maszyna_pozycji_schematu.maszyna_id = maszyna.id 
	LOOP
		IF wynik <> '' THEN
			wynik := wynik || ', ';
		END IF;
		wynik := wynik || row_maszyny.nazwa;
	END LOOP;
--PAKOWANIE
	SELECT nazwa INTO nazwa_pakowanie FROM oem.pakowanie WHERE id = row_pozycji_schematu.pakowanie_id;
--PRACOWNIK
	SELECT nazwisko INTO nazwa_pracownik FROM oem.pracownik WHERE id = row_pozycji_schematu.pracownik_id;


--WSTAWIENIE INFORMACJI DO TABELI
	INSERT INTO oem.tmp_wydruk_schematu (klucz, id_pozycji_zlecenia, material, magazyn, material_powierzony, wymiar, ilosc, jednostka, tol_dolna, tol_gorna, wytrzymalosc_min, wytrzymalosc_max, wydluzenie, pakowanie_pozycja_zlecenia, uwagi_pozycja_zlecenia, id_schematu_produkcji, uwagi_schematu_produkcji, id_pozycji_schematu, grupa_maszyny, maszyna, wymiar_wejsciowy, wymiar_koncowy, pakowanie, pracownik, uwagi_pozycji_schematu)
	 VALUES (klucz, row_pozycji_zlecenia.id, nazwa_material, nazwa_magazyn, row_pozycji_zlecenia.powierzony_material, row_pozycji_zlecenia.wymiar,
	  row_pozycji_zlecenia.ilosc, nazwa_jednostka, row_pozycji_zlecenia.tol_dolna, row_pozycji_zlecenia.tol_gorna, row_pozycji_zlecenia.wytrzymalosc_min, row_pozycji_zlecenia.wytrzymalosc_max,
	   row_pozycji_zlecenia.wydluzenie, nazwa_pakowanie_poz_zlecenia, row_pozycji_zlecenia.uwagi, row_schematu_produkcji.id, row_schematu_produkcji.uwagi, row_pozycji_schematu.id, 
	   nazwa_grupa, 
	   wynik, row_pozycji_schematu.wymiar_wejsciowy, row_pozycji_schematu.wymiar_koncowy, nazwa_pakowanie, nazwa_pracownik, row_pozycji_schematu.uwagi);
		

END LOOP;
	RETURN klucz;
END;
$BODY$
  LANGUAGE plpgsql;

--------------------------WYKONANE 18.06.2013R.-------------------------------------------------------------------------------------------

--20.06.
DROP TABLE oem.tmp_wydruk_schematu CASCADE;
CREATE TABLE oem.tmp_wydruk_schematu 
	(
		id							SERIAL,
		klucz						TIMESTAMP,
		klient						VARCHAR(255),
		termin_realizacji			TIMESTAMP,
		id_pozycji_zlecenia			INTEGER,
		gatunek_materialu			VARCHAR(255),
		magazyn						VARCHAR(255),
		material_powierzony			BOOLEAN,
		wymiar						VARCHAR(255),
		ilosc						VARCHAR(255),
		jednostka					VARCHAR(255),
		tol_dolna					VARCHAR(255),
		tol_gorna					VARCHAR(255),
		wytrzymalosc_min			VARCHAR(255),
		wytrzymalosc_max			VARCHAR(255),
		wydluzenie					VARCHAR(255),
		pakowanie_pozycja_zlecenia	VARCHAR(255),
		uwagi_pozycja_zlecenia		VARCHAR(5000),
		id_schematu_produkcji		INTEGER,
		uwagi_schematu_produkcji	VARCHAR(5000),
		ilosc_schematu_produkcji	DOUBLE PRECISION,
		id_pozycji_schematu			INTEGER,
		grupa_maszyny				VARCHAR(255),
		maszyna						VARCHAR(255),
		wymiar_wejsciowy			DOUBLE PRECISION,
		wymiar_koncowy				DOUBLE PRECISION,
		pakowanie					VARCHAR(255),
		pracownik					VARCHAR(255),
		uwagi_pozycji_schematu		VARCHAR(5000),
		CONSTRAINT tmp_wydruk_schematu_pk PRIMARY KEY (id)
	);

CREATE OR  REPLACE  FUNCTION oem.wydruk_schematu (id_schematu INTEGER) RETURNS VARCHAR AS
$BODY$
DECLARE
	klucz 							TIMESTAMP;
	row_zlecenie					oem.zlecenie%ROWTYPE;
	nazwa_klient					VARCHAR;
	row_pozycji_zlecenia 			oem.pozycje_zlecenia%ROWTYPE;
	nazwa_material					VARCHAR;
	nazwa_magazyn					VARCHAR;
	nazwa_jednostka					VARCHAR;
	nazwa_pakowanie_poz_zlecenia	VARCHAR;
	row_schematu_produkcji 			oem.schemat_produkcji%ROWTYPE;
	row_pozycji_schematu 			oem.pozycje_schematu_produkcji%ROWTYPE;
	nazwa_grupa 					VARCHAR;
	nazwa_pakowanie 				VARCHAR;
	nazwa_pracownik 				VARCHAR;
	row_maszyny 					oem.maszyna%ROWTYPE;
	wynik 							VARCHAR;
BEGIN

	klucz := now();

---------------------------------ZLECENIE--------------------------------------------------------------------------------------------------------------------------------
	SELECT * INTO row_zlecenie FROM oem.zlecenie, oem.pozycje_zlecenia, oem.schemat_produkcji WHERE zlecenie.id = pozycje_zlecenia.zlecenie_id AND pozycje_zlecenia.id = schemat_produkcji.pozycje_zlecenia_id AND schemat_produkcji.id = id_schematu;
--KLIENT
	SELECT nazwa_skrocona INTO nazwa_klient FROM oem.klient WHERE id = row_zlecenie.klient_id;
	
---------------------------------POZYCJE ZLECENIA--------------------------------------------------------------------------------------------------------------------------------
	SELECT * INTO row_pozycji_zlecenia FROM oem.pozycje_zlecenia, oem.schemat_produkcji WHERE pozycje_zlecenia.id = schemat_produkcji.pozycje_zlecenia_id AND schemat_produkcji.id = id_schematu;
--MATERIAL
	SELECT nazwa_ang INTO nazwa_material FROM oem.gatunek WHERE id = row_pozycji_zlecenia.gatunek_id;
--MAGAZYN
	SELECT nazwa INTO nazwa_magazyn FROM oem.magazyn WHERE id = row_pozycji_zlecenia.magazyn_id;
--JEDNOSTKA
	SELECT jednostka INTO nazwa_jednostka FROM oem.jednostka_miary WHERE id = row_pozycji_zlecenia.jednostka_miary_id;
--PAKOWANIE
	SELECT nazwa INTO nazwa_pakowanie_poz_zlecenia FROM oem.pakowanie WHERE id = row_pozycji_zlecenia.pakowanie_id;

	
---------------------------------SCHEMAT PRODUKCJI--------------------------------------------------------------------------------------------------------------------------------

	  SELECT * INTO row_schematu_produkcji FROM oem.schemat_produkcji WHERE schemat_produkcji.id = id_schematu;
	
-----------------------------------------------------------POZYCJE SCHEMATU--------------------------------------------------------------------------------------------------------------------------------
	FOR row_pozycji_schematu IN SELECT * FROM oem.pozycje_schematu_produkcji WHERE pozycje_schematu_produkcji.schemat_produkcji_id = row_schematu_produkcji.id
	LOOP
--GRUPA MASZYNY
	SELECT nazwa INTO nazwa_grupa FROM oem.grupa_maszyny WHERE id = row_pozycji_schematu.grupa_maszyny_id;
--MASZYNA
	wynik := '';
	FOR row_maszyny IN SELECT * FROM oem.maszyna, oem.maszyna_pozycji_schematu WHERE maszyna_pozycji_schematu.pozycje_schematu_produkcji_id = row_pozycji_schematu.id AND maszyna_pozycji_schematu.maszyna_id = maszyna.id 
	LOOP
		IF wynik <> '' THEN
			wynik := wynik || ', ';
		END IF;
		wynik := wynik || row_maszyny.nazwa;
	END LOOP;
--PAKOWANIE
	SELECT nazwa INTO nazwa_pakowanie FROM oem.pakowanie WHERE id = row_pozycji_schematu.pakowanie_id;
--PRACOWNIK
	SELECT nazwisko INTO nazwa_pracownik FROM oem.pracownik WHERE id = row_pozycji_schematu.pracownik_id;


--WSTAWIENIE INFORMACJI DO TABELI
	INSERT INTO oem.tmp_wydruk_schematu (klucz, klient, termin_realizacji, id_pozycji_zlecenia, gatunek_materialu, magazyn, material_powierzony, wymiar, ilosc, jednostka, tol_dolna, tol_gorna, wytrzymalosc_min, wytrzymalosc_max, wydluzenie, pakowanie_pozycja_zlecenia, uwagi_pozycja_zlecenia, id_schematu_produkcji, uwagi_schematu_produkcji, ilosc_schematu_produkcji, id_pozycji_schematu, grupa_maszyny, maszyna, wymiar_wejsciowy, wymiar_koncowy, pakowanie, pracownik, uwagi_pozycji_schematu)
	 VALUES (klucz, nazwa_klient, row_zlecenie.termin, 
			row_pozycji_zlecenia.id, nazwa_material, nazwa_magazyn, row_pozycji_zlecenia.powierzony_material, row_pozycji_zlecenia.wymiar,
			row_pozycji_zlecenia.ilosc, nazwa_jednostka, row_pozycji_zlecenia.tol_dolna, row_pozycji_zlecenia.tol_gorna, row_pozycji_zlecenia.wytrzymalosc_min, row_pozycji_zlecenia.wytrzymalosc_max,
			row_pozycji_zlecenia.wydluzenie, nazwa_pakowanie_poz_zlecenia, row_pozycji_zlecenia.uwagi,
			row_schematu_produkcji.id, row_schematu_produkcji.uwagi, row_schematu_produkcji.ilosc,
			row_pozycji_schematu.id, nazwa_grupa, wynik, row_pozycji_schematu.wymiar_wejsciowy, row_pozycji_schematu.wymiar_koncowy, nazwa_pakowanie, nazwa_pracownik, row_pozycji_schematu.uwagi);
		
	END LOOP;
	RETURN klucz;
END;
$BODY$
  LANGUAGE plpgsql;


  --21.06

  ALTER TABLE  oem.schemat_produkcji ADD COLUMN ilosc DOUBLE PRECISION;

  ALTER TABLE oem.zlecenie RENAME COLUMN tracing TO tracking;
  --

  --4.07
   ALTER TABLE oem.potwierdzenie_zlecenia ALTER COLUMN informacje TYPE VARCHAR(5000);

   --5.07

   CREATE TABLE oem.stop
(
	id 	SERIAL,
	nazwa	VARCHAR(255),
	CONSTRAINT stop_pk PRIMARY KEY (id)
);

CREATE TABLE oem.pierwiastek
(
	id 		SERIAL,
	nazwa		VARCHAR(255),
	CONSTRAINT pierwiastek_pk PRIMARY KEY (id)
);


CREATE TABLE oem.sklad
(
	id 		SERIAL,
	stop_id		INTEGER,
	pierwiastek_id	INTEGER,
	CONSTRAINT sklad_pk PRIMARY KEY (id),
	CONSTRAINT sklad_stop_id_fk FOREIGN KEY (stop_id) REFERENCES oem.stop,
	CONSTRAINT sklad_pierwiastek_id_fk FOREIGN KEY (pierwiastek_id) REFERENCES oem.pierwiastek
);

CREATE TABLE oem.sklad_chemiczny
(
	id 		SERIAL,
	sklad_id	INTEGER,
	wartosc		DOUBLE PRECISION,
	CONSTRAINT sklad_chemiczny_pk PRIMARY KEY (id),
	CONSTRAINT sklad_chemiczny_sklad_id_fk FOREIGN KEY (sklad_id) REFERENCES oem.sklad
);



CREATE TABLE oem.dostawca
(
	id 		SERIAL,
	nazwa_firmy	VARCHAR(255),
	CONSTRAINT dostawca_pk PRIMARY KEY (id)
);


  CREATE TABLE oem.material
(
  id				SERIAL,
  gatunek_id		INTEGER,
  dostawca_id 		INTEGER,
  data_utworzenia		TIMESTAMP,
  wymiar		DOUBLE PRECISION,
  wytop			VARCHAR(255),
  stop_id 		INTEGER,
  sklad_chemiczny_id	INTEGER,
  wytrzymalosc		DOUBLE PRECISION,
  wydluzenie		DOUBLE PRECISION,
  ilosc			DOUBLE PRECISION,
  cena			DOUBLE PRECISION,
  waluta_id		INTEGER,
  CONSTRAINT material_pk PRIMARY KEY (id),
  CONSTRAINT material_gatunek_id_fk FOREIGN KEY (gatunek_id) REFERENCES oem.gatunek (id),
  CONSTRAINT material_dostawca_id_fk FOREIGN KEY (dostawca_id) REFERENCES oem.dostawca (id),
  CONSTRAINT material_stop_id_fk FOREIGN KEY (stop_id) REFERENCES oem.stop (id),
  CONSTRAINT material_sklad_chemiczny_id_fk FOREIGN KEY (sklad_chemiczny_id) REFERENCES oem.sklad_chemiczny (id),
  CONSTRAINT material_waluta_id_fk FOREIGN KEY (waluta_id) REFERENCES oem.waluta (id)
);

--------------------------WYKONANE 17.07.2013R.-------------------------------------------------------------------------------------------

--19.07

ALTER TABLE oem.gatunek ADD COLUMN stop_id INTEGER;
ALTER TABLE oem.gatunek ADD CONSTRAINT gatunek_stop_id_fk FOREIGN KEY (stop_id) REFERENCES oem.stop;


ALTER TABLE oem.sklad_chemiczny ADD COLUMN material_id INTEGER;
ALTER TABLE oem.sklad_chemiczny ADD CONSTRAINT sklad_chemiczny_material_id_fk FOREIGN KEY (material_id) REFERENCES oem.material;

--24.07
ALTER TABLE oem.material DROP COLUMN stop_id CASCADE;

--26.07
UPDATE oem.status
SET nazwa = 'zlecone' WHERE id = 2;

UPDATE oem.status
SET nazwa = 'wysłane' WHERE id = 3;

INSERT INTO oem.status (nazwa) VALUES ('w produkcji');

INSERT INTO oem.status (nazwa) VALUES ('gotowe do pomiaru');
INSERT INTO oem.status (nazwa) VALUES ('zakończone');

--------------------------WYKONANE 26.07.2013R.-------------------------------------------------------------------------------------------

--29.07
ALTER TABLE oem.material DROP COLUMN sklad_chemiczny_id CASCADE;

--------------------------WYKONANE 1.08.2013R.-------------------------------------------------------------------------------------------

--06.08
INSERT INTO oem.status (nazwa) VALUES ('anulowane');

--07.08
ALTER TABLE oem.maszyna ADD COLUMN ilosc_kamieni INTEGER;

--------------------------WYKONANE 08.08.2013R.-------------------------------------------------------------------------------------------
 
 --26.08
 ALTER TABLE oem.pracownik ADD COLUMN aktywny BOOLEAN;

 UPDATE oem.pracownik SET aktywny = TRUE;

 --27.08.
 ALTER TABLE oem.pakowanie ALTER COLUMN nazwa TYPE varchar(255);

 --------------------------WYKONANE 27.08.2013R.-------------------------------------------------------------------------------------------
 
 --20.09
 INSERT INTO oem.pracownik (numer, nazwisko, login, haslo, aktywny) VALUES(2223, 'PRODUKCJA', 'produkcja','qqq', true);
  
  --------------------------WYKONANE 23.09.2013R.-------------------------------------------------------------------------------------------
 
 --23.09
 DROP TABLE oem.maszyna_pozycji_schematu CASCADE;
 DROP TABLE oem.pozycje_schematu_produkcji CASCADE;
 DROP TABLE oem.schemat_produkcji CASCADE;

 --24.09
 CREATE OR REPLACE FUNCTION oem.tracking(id_zlecenia integer)
  RETURNS character varying AS
$BODY$
DECLARE
	wynik 							varchar(255);
	row_zlecenia					oem.zlecenie%ROWTYPE;
	tracking_zlecenia_id 			integer;
	row_pozycji_zlecenia 			oem.pozycje_zlecenia%ROWTYPE;
	tracking_pozycji_zlecenia_id 	integer;
	
BEGIN

---------------------------------ZLECENIE--------------------------------------------------------------------------------------------------------------------------------
	SELECT * INTO row_zlecenia FROM oem.zlecenie WHERE zlecenie.id = id_zlecenia;

	UPDATE oem.zlecenie SET tracking = 1, status_id = 2 WHERE zlecenie.id = id_zlecenia;
	INSERT INTO tracking.zlecenie (oem_id, numer, termin, klient_id, uwagi, data_zamowienia, status_id) VALUES (row_zlecenia.id, row_zlecenia.numer, row_zlecenia.termin, row_zlecenia.klient_id, row_zlecenia.uwagi, row_zlecenia.data_zamowienia, 1) RETURNING id INTO tracking_zlecenia_id;

---------------------------------POZYCJE ZLECENIA-------------------------------------------------------------------------------------------------------------------------
	FOR row_pozycji_zlecenia IN SELECT * FROM oem.pozycje_zlecenia WHERE pozycje_zlecenia.zlecenie_id = id_zlecenia
	LOOP
		INSERT INTO tracking.pozycje_zlecenia (oem_id, zlecenie_id, gatunek_id, wymiar, swiadectwo, tol_dolna, tol_gorna, wydluzenie, wytrzymalosc_min, wytrzymalosc_max, ilosc, jednostka_miary_id, uwagi, pakowanie_id, powierzony_material, magazyn_id, status_id) VALUES (row_pozycji_zlecenia.id, tracking_zlecenia_id, row_pozycji_zlecenia.gatunek_id, row_pozycji_zlecenia.wymiar, row_pozycji_zlecenia.swiadectwo, row_pozycji_zlecenia.tol_dolna, row_pozycji_zlecenia.tol_gorna, row_pozycji_zlecenia.wydluzenie, row_pozycji_zlecenia.wytrzymalosc_min, row_pozycji_zlecenia.wytrzymalosc_max, row_pozycji_zlecenia.ilosc, row_pozycji_zlecenia.jednostka_miary_id, row_pozycji_zlecenia.uwagi, row_pozycji_zlecenia.pakowanie_id, row_pozycji_zlecenia.powierzony_material, row_pozycji_zlecenia.magazyn_id, 1) RETURNING id INTO tracking_pozycji_zlecenia_id;
	END LOOP;	
	wynik:= row_zlecenia.numer;
	RETURN wynik;
END;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;
ALTER FUNCTION oem.tracking(integer)
  OWNER TO postgres;

--------------------------WYKONANE 2.10.2013R.-------------------------------------------------------------------------------------------
 
 --3.10
 ALTER TABLE oem.pakowanie ADD COLUMN waga DOUBLE PRECISION;

 --------------------------WYKONANE 15.10.2013R.-------------------------------------------------------------------------------------------
 
--16.10
CREATE TABLE oem.drut_wyslany 
(
	id 			SERIAL,
	drut_id			INTEGER,
	paczki_wysylki_id	INTEGER,
	CONSTRAINT drut_wyslany_pk PRIMARY KEY (id),
	CONSTRAINT drut_wyslany_drut_id_fk FOREIGN KEY (drut_id) REFERENCES tracking.drut,
	CONSTRAINT drut_wyslany_paczki_wysylki_id_fk FOREIGN KEY (paczki_wysylki_id) REFERENCES oem.paczki_wysylki
);


--18.10 --21.10.



CREATE TABLE oem.tmp_wydruk_specyfikacji
(
    id SERIAL,
    klucz 	TIMESTAMP, 
    numer_zlecenia	VARCHAR(255), 
    klient	VARCHAR(255), 
    termin_realizacji	TIMESTAMP,
    id_pozycji_zlecenia INTEGER, 
    gatunek_materialu VARCHAR(255), 
    magazyn 		VARCHAR(255), 
    material_powierzony BOOLEAN, 
    wymiar VARCHAR(255), 
    ilosc VARCHAR(255), 
    jednostka VARCHAR(255), 
    tol_dolna VARCHAR(255), 
    tol_gorna VARCHAR(255), 
    wytrzymalosc_min VARCHAR(255), 
    wytrzymalosc_max VARCHAR(255), 
    wydluzenie VARCHAR(255), 
    pakowanie_pozycja_zlecenia  VARCHAR(255), 
    uwagi_pozycja_zlecenia VARCHAR(5000), 
	drut_numer INTEGER, 
	drut_opakowanie VARCHAR(255), 
	drut_pracownik VARCHAR(255), 
	kontrola_min VARCHAR(255), 
	kontrola_max VARCHAR(255), 
	kontrola_waga VARCHAR(255), 
	kontrola_zwick_ustawienie VARCHAR(255), 
	kontrola_zwick_pomiar VARCHAR(255), 
	kontrola_zwick_procent VARCHAR(255), 
	kontrola_zwick_sila VARCHAR(255), 
	kontrola_zwick_wytrzymalosc VARCHAR(255), 
	kontrola_uwagi VARCHAR(5000), 
	kontrola_zatwierdzenie VARCHAR(255),
	kontrola_pracownik VARCHAR(255),
	paczka_numer INTEGER,
	paczka_waga VARCHAR(255),
	CONSTRAINT tmp_wydruk_specyfikacji_pk PRIMARY KEY (id)
);

CREATE OR REPLACE FUNCTION oem.wydruk_specyfikacji(id_pozycja_zlecenia integer, id_paczki_wysylki integer)
  RETURNS character varying AS
$BODY$
DECLARE
	klucz 						TIMESTAMP;
	row_zlecenie					oem.zlecenie%ROWTYPE;
	nazwa_klient					VARCHAR;
	row_pozycji_zlecenia 				oem.pozycje_zlecenia%ROWTYPE;
	nazwa_material					VARCHAR;
	nazwa_magazyn					VARCHAR;
	nazwa_jednostka					VARCHAR;
	nazwa_pakowanie_poz_zlecenia			VARCHAR;

	row_paczka_wysylki				oem.paczki_wysylki%ROWTYPE;

	row_drut_wyslany				oem.drut_wyslany%ROWTYPE;
	row_drut					tracking.drut%ROWTYPE;
	nazwa_nazwisko					VARCHAR;
	nazwa_pakowanie					VARCHAR;
	
	row_kontrola					tracking.kontrola%ROWTYPE;
	nazwa_ustawienie_zwicka				VARCHAR;
	nazwa_kto_zatwierdzil				VARCHAR;
	nazwa_kontrola_pracownik			VARCHAR;
	wynik 						VARCHAR;
BEGIN

	klucz := now();

---------------------------------ZLECENIE--------------------------------------------------------------------------------------------------------------------------------
	SELECT * INTO row_zlecenie FROM oem.zlecenie, oem.pozycje_zlecenia WHERE zlecenie.id = pozycje_zlecenia.zlecenie_id AND pozycje_zlecenia.id =id_pozycja_zlecenia;
--KLIENT
	SELECT nazwa_skrocona INTO nazwa_klient FROM oem.klient WHERE id = row_zlecenie.klient_id;
	
---------------------------------POZYCJE ZLECENIA--------------------------------------------------------------------------------------------------------------------------------
	SELECT * INTO row_pozycji_zlecenia FROM oem.pozycje_zlecenia WHERE pozycje_zlecenia.id = id_pozycja_zlecenia;
--MATERIAL
	SELECT nazwa_ang INTO nazwa_material FROM oem.gatunek WHERE id = row_pozycji_zlecenia.gatunek_id;
--MAGAZYN
	SELECT nazwa INTO nazwa_magazyn FROM oem.magazyn WHERE id = row_pozycji_zlecenia.magazyn_id;
--JEDNOSTKA
	SELECT jednostka INTO nazwa_jednostka FROM oem.jednostka_miary WHERE id = row_pozycji_zlecenia.jednostka_miary_id;
--PAKOWANIE
	SELECT nazwa INTO nazwa_pakowanie_poz_zlecenia FROM oem.pakowanie WHERE id = row_pozycji_zlecenia.pakowanie_id;
---------------------------------PACZKI WYSYLKI--------------------------------------------------------------------------------------------------------------------------------

	SELECT * INTO row_paczka_wysylki FROM oem.paczki_wysylki WHERE paczki_wysylki.id = id_paczki_wysylki;

---------------------------------DRUT--------------------------------------------------------------------------------------------------------------------------------

	FOR row_drut_wyslany IN SELECT * FROM oem.drut_wyslany, tracking.drut, tracking.pozycje_schematu, tracking.schemat, tracking.pozycje_zlecenia, oem.paczki_wysylki WHERE drut_wyslany.drut_id = drut.id AND pozycje_schematu.id = drut.pozycje_schematu_id AND schemat.id = pozycje_schematu.schemat_id AND pozycje_zlecenia.id = schemat.pozycje_zlecenia_id AND paczki_wysylki.id = drut_wyslany.paczki_wysylki_id AND pozycje_zlecenia.oem_id = id_pozycja_zlecenia  AND drut_wyslany.paczki_wysylki_id = id_paczki_wysylki

	LOOP
		SELECT * INTO row_drut FROM tracking.drut WHERE drut.id = row_drut_wyslany.drut_id;
		--PRACOWNIK
		SELECT nazwisko INTO nazwa_nazwisko FROM oem.pracownik WHERE id = row_drut.pracownik_id;
		--PAKOWANIE
		SELECT nazwa INTO nazwa_pakowanie FROM oem.pakowanie WHERE id = row_drut.pakowanie_id;
		--KONTROLA---------------------------------------------------------------------------------------------------------------------
		SELECT * INTO row_kontrola FROM tracking.kontrola WHERE kontrola.drut_id = row_drut.id;
			--ZWICK_USTAWIENIE
			SELECT nazwa INTO nazwa_ustawienie_zwicka FROM tracking.zwick_ustawienie WHERE id = row_kontrola.zwick_ustawienie_id;
			--KTO_ZATWIERDZIL
			IF row_kontrola.kto_zatwierdzil_pracownik_id <> null THEN
				SELECT nazwisko INTO nazwa_kto_zatwierdzil FROM oem.pracownik WHERE id = row_kontrola.kto_zatwierdzil_pracownik_id;
			END IF;	
			--KONTROLA PRACOWNIK
			SELECT nazwisko INTO nazwa_kontrola_pracownik FROM oem.pracownik WHERE id = row_kontrola.pracownik_id;
			
	
--WSTAWIENIE INFORMACJI DO TABELI
	INSERT INTO oem.tmp_wydruk_specyfikacji (klucz, numer_zlecenia, klient, termin_realizacji, 
						id_pozycji_zlecenia, gatunek_materialu, magazyn, material_powierzony, wymiar, ilosc, jednostka, tol_dolna, tol_gorna, wytrzymalosc_min, wytrzymalosc_max, wydluzenie, 
						pakowanie_pozycja_zlecenia, uwagi_pozycja_zlecenia, 
						drut_numer, drut_opakowanie, drut_pracownik, kontrola_min, kontrola_max, kontrola_waga, kontrola_zwick_ustawienie, kontrola_zwick_pomiar, kontrola_zwick_procent, kontrola_zwick_sila, kontrola_zwick_wytrzymalosc, kontrola_uwagi, kontrola_zatwierdzenie, kontrola_pracownik,
						paczka_numer, paczka_waga)
	 
	 VALUES (klucz, row_zlecenie.numer, nazwa_klient, row_zlecenie.termin, 
			row_pozycji_zlecenia.id, nazwa_material, nazwa_magazyn, row_pozycji_zlecenia.powierzony_material, row_pozycji_zlecenia.wymiar,
			row_pozycji_zlecenia.ilosc, nazwa_jednostka, row_pozycji_zlecenia.tol_dolna, row_pozycji_zlecenia.tol_gorna, row_pozycji_zlecenia.wytrzymalosc_min, row_pozycji_zlecenia.wytrzymalosc_max,
			row_pozycji_zlecenia.wydluzenie, nazwa_pakowanie_poz_zlecenia, row_pozycji_zlecenia.uwagi,
			row_drut.id, nazwa_pakowanie, nazwa_nazwisko, row_kontrola.wymiar_min, row_kontrola.wymiar_max, row_kontrola.ilosc, nazwa_ustawienie_zwicka, row_kontrola.zwick_pomiar, row_kontrola.zwick_procent_wydluzenia, row_kontrola.zwick_sila, row_kontrola.zwick_wytrzymalosc, row_kontrola.uwagi, nazwa_kto_zatwierdzil, nazwa_kontrola_pracownik,
			row_paczka_wysylki.id, row_paczka_wysylki.waga);
		
	END LOOP;
	RETURN klucz;
END;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;
ALTER FUNCTION oem.wydruk_specyfikacji(integer, integer)
  OWNER TO postgres;

   --------------------------WYKONANE 25.10.2013R.-------------------------------------------------------------------------------------------
 
 --29.10
 
DROP TABLE oem.tmp_wydruk_specyfikacji CASCADE;

CREATE TABLE oem.tmp_wydruk_specyfikacji
(
    id SERIAL,
    klucz 	TIMESTAMP, 
    numer_zlecenia	VARCHAR(255), 
    klient	VARCHAR(255), 
    termin_realizacji	TIMESTAMP,
    id_pozycji_zlecenia INTEGER, 
    gatunek_materialu VARCHAR(255), 
    magazyn 		VARCHAR(255), 
    material_powierzony BOOLEAN, 
    wymiar VARCHAR(255), 
    ilosc VARCHAR(255), 
    jednostka VARCHAR(255), 
    tol_dolna VARCHAR(255), 
    tol_gorna VARCHAR(255), 
    wytrzymalosc_min VARCHAR(255), 
    wytrzymalosc_max VARCHAR(255), 
    wydluzenie VARCHAR(255), 
    pakowanie_pozycja_zlecenia  VARCHAR(255), 
    uwagi_pozycja_zlecenia VARCHAR(5000), 
	drut_numer INTEGER, 
	drut_opakowanie VARCHAR(255), 
	drut_pracownik VARCHAR(255), 
	kontrola_min VARCHAR(255), 
	kontrola_max VARCHAR(255), 
	kontrola_waga DOUBLE PRECISION,--VARCHAR(255), 
	kontrola_zwick_ustawienie VARCHAR(255), 
	kontrola_zwick_pomiar DOUBLE PRECISION,--VARCHAR(255), 
	kontrola_zwick_procent DOUBLE PRECISION,--VARCHAR(255), 
	kontrola_zwick_sila DOUBLE PRECISION,--VARCHAR(255), 
	kontrola_zwick_wytrzymalosc DOUBLE PRECISION,--VARCHAR(255), 
	kontrola_uwagi VARCHAR(5000), 
	kontrola_zatwierdzenie VARCHAR(255),
	kontrola_pracownik VARCHAR(255),
	paczka_numer INTEGER,
	paczka_waga VARCHAR(255),
	CONSTRAINT tmp_wydruk_specyfikacji_pk PRIMARY KEY (id)
);

   --------------------------WYKONANE 28.10.2013R.-------------------------------------------------------------------------------------------
 
--5.11

ALTER TABLE oem.tmp_wydruk_specyfikacji ADD COLUMN cena DOUBLE PRECISION;
ALTER TABLE oem.tmp_wydruk_specyfikacji ADD COLUMN cena_pakowania DOUBLE PRECISION;


ALTER TABLE oem.tmp_wydruk_specyfikacji ADD COLUMN adres_ulica VARCHAR(255);
ALTER TABLE oem.tmp_wydruk_specyfikacji ADD COLUMN adres_numer VARCHAR(255);
ALTER TABLE oem.tmp_wydruk_specyfikacji ADD COLUMN adres_kod_pocztowy VARCHAR(255);
ALTER TABLE oem.tmp_wydruk_specyfikacji ADD COLUMN adres_miejscowosc VARCHAR(255);
ALTER TABLE oem.tmp_wydruk_specyfikacji ADD COLUMN adres_kraj VARCHAR(255);
ALTER TABLE oem.tmp_wydruk_specyfikacji ADD COLUMN adres_telefon VARCHAR(255);
ALTER TABLE oem.tmp_wydruk_specyfikacji ADD COLUMN adres_email VARCHAR(255);
ALTER TABLE oem.tmp_wydruk_specyfikacji RENAME COLUMN drut_opakowanie TO kontrola_opakowanie;

ALTER TABLE oem.tmp_wydruk_specyfikacji ADD COLUMN termin_platnosci VARCHAR(255);

CREATE OR REPLACE FUNCTION oem.wydruk_specyfikacji(id_pozycja_zlecenia integer, id_paczki_wysylki integer)
  RETURNS character varying AS
$BODY$
DECLARE
	klucz 						TIMESTAMP;
	row_zlecenie					oem.zlecenie%ROWTYPE;
	nazwa_klient					VARCHAR;
	nazwa_termin_platnosci				VARCHAR;
	row_pozycji_zlecenia 				oem.pozycje_zlecenia%ROWTYPE;
	nazwa_material					VARCHAR;
	nazwa_magazyn					VARCHAR;
	nazwa_jednostka					VARCHAR;
	nazwa_pakowanie_poz_zlecenia			VARCHAR;
	nazwa_cena_pakowania_poz_zlecenia		DOUBLE PRECISION;

	row_adres_wysylki				oem.adres_wysylki%ROWTYPE;
	row_paczka_wysylki				oem.paczki_wysylki%ROWTYPE;

	row_drut_wyslany				oem.drut_wyslany%ROWTYPE;
	row_drut					tracking.drut%ROWTYPE;
	nazwa_nazwisko					VARCHAR;
	nazwa_pakowanie					VARCHAR;
	
	row_kontrola					tracking.kontrola%ROWTYPE;
	nazwa_ustawienie_zwicka				VARCHAR;
	nazwa_kto_zatwierdzil				VARCHAR;
	nazwa_kontrola_pracownik			VARCHAR;
	
	row_adres					oem.adres_wysylki;
	wynik 						VARCHAR;
BEGIN

	klucz := now();

---------------------------------ZLECENIE--------------------------------------------------------------------------------------------------------------------------------
	SELECT * INTO row_zlecenie FROM oem.zlecenie, oem.pozycje_zlecenia WHERE zlecenie.id = pozycje_zlecenia.zlecenie_id AND pozycje_zlecenia.id =id_pozycja_zlecenia;
--KLIENT
	SELECT nazwa_skrocona INTO nazwa_klient FROM oem.klient WHERE id = row_zlecenie.klient_id;
	SELECT termin_platnosci INTO nazwa_termin_platnosci FROM oem.klient WHERE id = row_zlecenie.klient_id;
---------------------------------POZYCJE ZLECENIA--------------------------------------------------------------------------------------------------------------------------------
	SELECT * INTO row_pozycji_zlecenia FROM oem.pozycje_zlecenia WHERE pozycje_zlecenia.id = id_pozycja_zlecenia;
--MATERIAL
	SELECT nazwa_ang INTO nazwa_material FROM oem.gatunek WHERE id = row_pozycji_zlecenia.gatunek_id;
--MAGAZYN
	SELECT nazwa INTO nazwa_magazyn FROM oem.magazyn WHERE id = row_pozycji_zlecenia.magazyn_id;
--JEDNOSTKA
	SELECT jednostka INTO nazwa_jednostka FROM oem.jednostka_miary WHERE id = row_pozycji_zlecenia.jednostka_miary_id;
--PAKOWANIE
	SELECT nazwa INTO nazwa_pakowanie_poz_zlecenia FROM oem.pakowanie WHERE id = row_pozycji_zlecenia.pakowanie_id;
--CENA PAKOWANIA
	IF row_pozycji_zlecenia.cena_opakowania = TRUE THEN
		SELECT cena INTO nazwa_cena_pakowania_poz_zlecenia  FROM oem.pakowanie WHERE id = row_pozycji_zlecenia.pakowanie_id;
	END IF;
	
---------------------------------ADRES WYSYLKI--------------------------------------------------------------------------------------------------------------------------------

	SELECT * INTO row_adres_wysylki FROM oem.adres_wysylki WHERE adres_wysylki.id = row_zlecenie.adres_wysylki_id;

---------------------------------PACZKI WYSYLKI--------------------------------------------------------------------------------------------------------------------------------

	SELECT * INTO row_paczka_wysylki FROM oem.paczki_wysylki WHERE paczki_wysylki.id = id_paczki_wysylki;

---------------------------------DRUT--------------------------------------------------------------------------------------------------------------------------------

	FOR row_drut_wyslany IN SELECT * FROM oem.drut_wyslany, tracking.drut, tracking.pozycje_schematu, tracking.schemat, tracking.pozycje_zlecenia, oem.paczki_wysylki WHERE drut_wyslany.drut_id = drut.id AND pozycje_schematu.id = drut.pozycje_schematu_id AND schemat.id = pozycje_schematu.schemat_id AND pozycje_zlecenia.id = schemat.pozycje_zlecenia_id AND paczki_wysylki.id = drut_wyslany.paczki_wysylki_id AND pozycje_zlecenia.oem_id = id_pozycja_zlecenia  AND drut_wyslany.paczki_wysylki_id = id_paczki_wysylki

	LOOP
		SELECT * INTO row_drut FROM tracking.drut WHERE drut.id = row_drut_wyslany.drut_id;
		--PRACOWNIK
		SELECT nazwisko INTO nazwa_nazwisko FROM oem.pracownik WHERE id = row_drut.pracownik_id;
		--KONTROLA---------------------------------------------------------------------------------------------------------------------
		SELECT * INTO row_kontrola FROM tracking.kontrola WHERE kontrola.drut_id = row_drut.id;
			--ZWICK_USTAWIENIE
			SELECT nazwa INTO nazwa_ustawienie_zwicka FROM tracking.zwick_ustawienie WHERE id = row_kontrola.zwick_ustawienie_id;
			--KTO_ZATWIERDZIL
			IF row_kontrola.kto_zatwierdzil_pracownik_id <> null THEN
				SELECT nazwisko INTO nazwa_kto_zatwierdzil FROM oem.pracownik WHERE id = row_kontrola.kto_zatwierdzil_pracownik_id;
			END IF;	
			--KONTROLA PRACOWNIK
			SELECT nazwisko INTO nazwa_kontrola_pracownik FROM oem.pracownik WHERE id = row_kontrola.pracownik_id;
			--PAKOWANIE
			SELECT nazwa INTO nazwa_pakowanie FROM oem.pakowanie WHERE id = row_kontrola.pakowanie_id;
	
--WSTAWIENIE INFORMACJI DO TABELI
	INSERT INTO oem.tmp_wydruk_specyfikacji (klucz, numer_zlecenia, klient, termin_realizacji, 
						id_pozycji_zlecenia, gatunek_materialu, magazyn, material_powierzony, wymiar, ilosc, jednostka, tol_dolna, tol_gorna, wytrzymalosc_min, wytrzymalosc_max, wydluzenie, 
						pakowanie_pozycja_zlecenia, uwagi_pozycja_zlecenia, 
						drut_numer, kontrola_opakowanie, drut_pracownik, kontrola_min, kontrola_max, kontrola_waga, kontrola_zwick_ustawienie, kontrola_zwick_pomiar, kontrola_zwick_procent, kontrola_zwick_sila, kontrola_zwick_wytrzymalosc, kontrola_uwagi, kontrola_zatwierdzenie, kontrola_pracownik,
						paczka_numer, paczka_waga,
						cena, cena_pakowania,
						adres_ulica, adres_numer, adres_kod_pocztowy, adres_miejscowosc, adres_kraj, adres_telefon, adres_email,
						termin_platnosci)
	 
	 VALUES (klucz, row_zlecenie.numer, nazwa_klient, row_zlecenie.termin, 
			row_pozycji_zlecenia.id, nazwa_material, nazwa_magazyn, row_pozycji_zlecenia.powierzony_material, row_pozycji_zlecenia.wymiar,
			row_pozycji_zlecenia.ilosc, nazwa_jednostka, row_pozycji_zlecenia.tol_dolna, row_pozycji_zlecenia.tol_gorna, row_pozycji_zlecenia.wytrzymalosc_min, row_pozycji_zlecenia.wytrzymalosc_max,
			row_pozycji_zlecenia.wydluzenie, nazwa_pakowanie_poz_zlecenia, row_pozycji_zlecenia.uwagi,
			row_drut.id, nazwa_pakowanie, nazwa_nazwisko, row_kontrola.wymiar_min, row_kontrola.wymiar_max, row_kontrola.ilosc, nazwa_ustawienie_zwicka, row_kontrola.zwick_pomiar, row_kontrola.zwick_procent_wydluzenia, row_kontrola.zwick_sila, row_kontrola.zwick_wytrzymalosc, row_kontrola.uwagi, nazwa_kto_zatwierdzil, nazwa_kontrola_pracownik,
			row_paczka_wysylki.id, row_paczka_wysylki.waga,
			row_pozycji_zlecenia.cena, nazwa_cena_pakowania_poz_zlecenia,
			row_adres_wysylki.ulica, row_adres_wysylki.numer, row_adres_wysylki.kod_pocztowy, row_adres_wysylki.miejscowosc, row_adres_wysylki.kraj, row_adres_wysylki.telefon, row_adres_wysylki.e_mail,
			nazwa_termin_platnosci);
		
	END LOOP;
	RETURN klucz;
END;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;

     --------------------------WYKONANE 15.11.2013R.-------------------------------------------------------------------------------------------
 
 --18.11.

   CREATE TABLE oem.swiadectwo
(
  id						SERIAL,
  paczki_wysylki_id			INTEGER,
  numer_zlecenia			VARCHAR(255),
  klient_id					INTEGER,
  nr_zamowienia_klienta 	VARCHAR(255),
  numer_faktury				VARCHAR(255),
  data_zamowienia			TIMESTAMP,
  gatunek_id				INTEGER,
  wytop						VARCHAR(255),
  norma_wykonania			VARCHAR(255),
  pakowanie_id 	 			INTEGER,
  wymiar					DOUBLE PRECISION,
  tol_dolna					DOUBLE PRECISION,
  tol_gorna					DOUBLE PRECISION,
  waga						DOUBLE PRECISION,
  ilosc_sztuk				INTEGER,
  data_wydruku				TIMESTAMP,

  CONSTRAINT swiadectwo_pk PRIMARY KEY (id),
  CONSTRAINT swiadectwo_paczki_wysylki_id_fk FOREIGN KEY (paczki_wysylki_id) REFERENCES oem.paczki_wysylki (id),
  CONSTRAINT swiadectwo_gatunek_id_fk FOREIGN KEY (gatunek_id) REFERENCES oem.gatunek (id),
  CONSTRAINT swiadectwo_pakowanie_id_fk FOREIGN KEY (pakowanie_id) REFERENCES oem.pakowanie (id)
);

  CREATE TABLE oem.wlasciwosci_mechaniczne
(
  id				SERIAL,
  swiadectwo_id		INTEGER,
  drut_id			INTEGER,
  sila				DOUBLE PRECISION,
  wytrzymalosc		DOUBLE PRECISION,
  procent			DOUBLE PRECISION,
 
  CONSTRAINT wlasciwosci_mechaniczne_pk PRIMARY KEY (id),
  CONSTRAINT wlasciwosci_mechaniczne_swiadectwo_id_fk FOREIGN KEY (swiadectwo_id) REFERENCES oem.swiadectwo (id),
  CONSTRAINT wlasciwosci_mechaniczne_drut_id_fk FOREIGN KEY (drut_id) REFERENCES tracking.drut (id)
);

  CREATE TABLE oem.swiadectwo_sklad_chemiczny
(
  id				SERIAL,
  swiadectwo_id		INTEGER,
  pierwiastek_id	INTEGER,
  wartosc			DOUBLE PRECISION,
 
  CONSTRAINT swiadectwo_sklad_chemiczny_pk PRIMARY KEY (id),
  CONSTRAINT swiadectwo_sklad_chemiczny_swiadectwo_id_fk FOREIGN KEY (swiadectwo_id) REFERENCES oem.swiadectwo (id),
  CONSTRAINT swiadectwo_sklad_chemiczny_pierwiastek_id_fk FOREIGN KEY (pierwiastek_id) REFERENCES oem.pierwiastek (id)
);

 --------------------------WYKONANE 6.12.2013R.-------------------------------------------------------------------------------------------

 --27.01

 ALTER TABLE oem.sklad_chemiczny ALTER COLUMN wartosc TYPE VARCHAR(255);

 ALTER TABLE oem.swiadectwo_sklad_chemiczny ALTER COLUMN wartosc TYPE VARCHAR(255);

  --------------------------WYKONANE 20.02.2013R.-------------------------------------------------------------------------------------------

  --4.03

  zpisać dane id zlecenia , ktore byly utworzone poprzez ofertę
  UPDATE oem.zlecenie  
SET oferta_id = 0;

  --------------------------WYKONANE 5.03.2014R.-------------------------------------------------------------------------------------------


  --10.03

  CREATE TABLE oem.uwagi_oferty
(
  id serial NOT NULL,
  oferta_id integer,
  informacje character varying(5000),
  CONSTRAINT uwagi_oferty_pk PRIMARY KEY (id),
  CONSTRAINT uwagi_oferty_oferta_id_fk FOREIGN KEY (oferta_id)
      REFERENCES oem.oferta (id)
)

 --------------------------WYKONANE 20.03.2014R.-------------------------------------------------------------------------------------------
 

 --10.04
 ALTER TABLE oem.tmp_wydruk_specyfikacji ADD COLUMN klient_nazwa_pelna character varying(2000);

  ALTER TABLE oem.tmp_wydruk_specyfikacji ADD COLUMN klient_wysylka character varying(100);

 CREATE OR REPLACE FUNCTION oem.wydruk_specyfikacji(id_pozycja_zlecenia integer, id_paczki_wysylki integer)
  RETURNS character varying AS
$BODY$
DECLARE
	klucz 						TIMESTAMP;
	row_zlecenie					oem.zlecenie%ROWTYPE;
	nazwa_klient					VARCHAR;
	nazwa_klient_pelna				VARCHAR;
	nazwa_klinta_wysylka				VARCHAR;
	nazwa_termin_platnosci				VARCHAR;
	row_pozycji_zlecenia 				oem.pozycje_zlecenia%ROWTYPE;
	nazwa_material					VARCHAR;
	nazwa_magazyn					VARCHAR;
	nazwa_jednostka					VARCHAR;
	nazwa_pakowanie_poz_zlecenia			VARCHAR;
	nazwa_cena_pakowania_poz_zlecenia		DOUBLE PRECISION;

	row_adres_wysylki				oem.adres_wysylki%ROWTYPE;
	row_paczka_wysylki				oem.paczki_wysylki%ROWTYPE;

	row_drut_wyslany				oem.drut_wyslany%ROWTYPE;
	row_drut					tracking.drut%ROWTYPE;
	nazwa_nazwisko					VARCHAR;
	nazwa_pakowanie					VARCHAR;
	
	row_kontrola					tracking.kontrola%ROWTYPE;
	nazwa_ustawienie_zwicka				VARCHAR;
	nazwa_kto_zatwierdzil				VARCHAR;
	nazwa_kontrola_pracownik			VARCHAR;
	
	row_adres					oem.adres_wysylki;
	wynik 						VARCHAR;
BEGIN

	klucz := now();

---------------------------------ZLECENIE--------------------------------------------------------------------------------------------------------------------------------
	SELECT * INTO row_zlecenie FROM oem.zlecenie, oem.pozycje_zlecenia WHERE zlecenie.id = pozycje_zlecenia.zlecenie_id AND pozycje_zlecenia.id =id_pozycja_zlecenia;
--KLIENT
	SELECT nazwa_skrocona INTO nazwa_klient FROM oem.klient WHERE id = row_zlecenie.klient_id;
	SELECT nazwa_pelna INTO nazwa_klient_pelna FROM oem.klient WHERE id = row_zlecenie.klient_id;
	SELECT wysylka INTO nazwa_klinta_wysylka FROM oem.klient WHERE id = row_zlecenie.klient_id;
	SELECT termin_platnosci INTO nazwa_termin_platnosci FROM oem.klient WHERE id = row_zlecenie.klient_id;
---------------------------------POZYCJE ZLECENIA--------------------------------------------------------------------------------------------------------------------------------
	SELECT * INTO row_pozycji_zlecenia FROM oem.pozycje_zlecenia WHERE pozycje_zlecenia.id = id_pozycja_zlecenia;
--MATERIAL
	SELECT nazwa_ang INTO nazwa_material FROM oem.gatunek WHERE id = row_pozycji_zlecenia.gatunek_id;
--MAGAZYN
	SELECT nazwa INTO nazwa_magazyn FROM oem.magazyn WHERE id = row_pozycji_zlecenia.magazyn_id;
--JEDNOSTKA
	SELECT jednostka INTO nazwa_jednostka FROM oem.jednostka_miary WHERE id = row_pozycji_zlecenia.jednostka_miary_id;
--PAKOWANIE
	SELECT nazwa INTO nazwa_pakowanie_poz_zlecenia FROM oem.pakowanie WHERE id = row_pozycji_zlecenia.pakowanie_id;
--CENA PAKOWANIA
	IF row_pozycji_zlecenia.cena_opakowania = TRUE THEN
		SELECT cena INTO nazwa_cena_pakowania_poz_zlecenia  FROM oem.pakowanie WHERE id = row_pozycji_zlecenia.pakowanie_id;
	END IF;
	
---------------------------------ADRES WYSYLKI--------------------------------------------------------------------------------------------------------------------------------

	SELECT * INTO row_adres_wysylki FROM oem.adres_wysylki WHERE adres_wysylki.id = row_zlecenie.adres_wysylki_id;

---------------------------------PACZKI WYSYLKI--------------------------------------------------------------------------------------------------------------------------------

	SELECT * INTO row_paczka_wysylki FROM oem.paczki_wysylki WHERE paczki_wysylki.id = id_paczki_wysylki;

---------------------------------DRUT--------------------------------------------------------------------------------------------------------------------------------

	FOR row_drut_wyslany IN SELECT * FROM oem.drut_wyslany, tracking.drut, tracking.pozycje_schematu, tracking.schemat, tracking.pozycje_zlecenia, oem.paczki_wysylki WHERE drut_wyslany.drut_id = drut.id AND pozycje_schematu.id = drut.pozycje_schematu_id AND schemat.id = pozycje_schematu.schemat_id AND pozycje_zlecenia.id = schemat.pozycje_zlecenia_id AND paczki_wysylki.id = drut_wyslany.paczki_wysylki_id AND pozycje_zlecenia.oem_id = id_pozycja_zlecenia  AND drut_wyslany.paczki_wysylki_id = id_paczki_wysylki

	LOOP
		SELECT * INTO row_drut FROM tracking.drut WHERE drut.id = row_drut_wyslany.drut_id;
		--PRACOWNIK
		SELECT nazwisko INTO nazwa_nazwisko FROM oem.pracownik WHERE id = row_drut.pracownik_id;
		--KONTROLA---------------------------------------------------------------------------------------------------------------------
		SELECT * INTO row_kontrola FROM tracking.kontrola WHERE kontrola.drut_id = row_drut.id;
			--ZWICK_USTAWIENIE
			SELECT nazwa INTO nazwa_ustawienie_zwicka FROM tracking.zwick_ustawienie WHERE id = row_kontrola.zwick_ustawienie_id;
			--KTO_ZATWIERDZIL
			IF row_kontrola.kto_zatwierdzil_pracownik_id <> null THEN
				SELECT nazwisko INTO nazwa_kto_zatwierdzil FROM oem.pracownik WHERE id = row_kontrola.kto_zatwierdzil_pracownik_id;
			END IF;	
			--KONTROLA PRACOWNIK
			SELECT nazwisko INTO nazwa_kontrola_pracownik FROM oem.pracownik WHERE id = row_kontrola.pracownik_id;
			--PAKOWANIE
			SELECT nazwa INTO nazwa_pakowanie FROM oem.pakowanie WHERE id = row_kontrola.pakowanie_id;
	
--WSTAWIENIE INFORMACJI DO TABELI
	INSERT INTO oem.tmp_wydruk_specyfikacji (klucz, numer_zlecenia, klient, termin_realizacji, 
						id_pozycji_zlecenia, gatunek_materialu, magazyn, material_powierzony, wymiar, ilosc, jednostka, tol_dolna, tol_gorna, wytrzymalosc_min, wytrzymalosc_max, wydluzenie, 
						pakowanie_pozycja_zlecenia, uwagi_pozycja_zlecenia, 
						drut_numer, kontrola_opakowanie, drut_pracownik, kontrola_min, kontrola_max, kontrola_waga, kontrola_zwick_ustawienie, kontrola_zwick_pomiar, kontrola_zwick_procent, kontrola_zwick_sila, kontrola_zwick_wytrzymalosc, kontrola_uwagi, kontrola_zatwierdzenie, kontrola_pracownik,
						paczka_numer, paczka_waga,
						cena, cena_pakowania,
						adres_ulica, adres_numer, adres_kod_pocztowy, adres_miejscowosc, adres_kraj, adres_telefon, adres_email,
						termin_platnosci, klient_nazwa_pelna, klient_wysylka)
	 
	 VALUES (klucz, row_zlecenie.numer, nazwa_klient, row_zlecenie.termin, 
			row_pozycji_zlecenia.id, nazwa_material, nazwa_magazyn, row_pozycji_zlecenia.powierzony_material, row_pozycji_zlecenia.wymiar,
			row_pozycji_zlecenia.ilosc, nazwa_jednostka, row_pozycji_zlecenia.tol_dolna, row_pozycji_zlecenia.tol_gorna, row_pozycji_zlecenia.wytrzymalosc_min, row_pozycji_zlecenia.wytrzymalosc_max,
			row_pozycji_zlecenia.wydluzenie, nazwa_pakowanie_poz_zlecenia, row_pozycji_zlecenia.uwagi,
			row_drut.id, nazwa_pakowanie, nazwa_nazwisko, row_kontrola.wymiar_min, row_kontrola.wymiar_max, row_kontrola.ilosc, nazwa_ustawienie_zwicka, row_kontrola.zwick_pomiar, row_kontrola.zwick_procent_wydluzenia, row_kontrola.zwick_sila, row_kontrola.zwick_wytrzymalosc, row_kontrola.uwagi, nazwa_kto_zatwierdzil, nazwa_kontrola_pracownik,
			row_paczka_wysylki.id, row_paczka_wysylki.waga,
			row_pozycji_zlecenia.cena, nazwa_cena_pakowania_poz_zlecenia,
			row_adres_wysylki.ulica, row_adres_wysylki.numer, row_adres_wysylki.kod_pocztowy, row_adres_wysylki.miejscowosc, row_adres_wysylki.kraj, row_adres_wysylki.telefon, row_adres_wysylki.e_mail,
			nazwa_termin_platnosci, nazwa_klient_pelna, nazwa_klinta_wysylka);
		
	END LOOP;
	RETURN klucz;
END;
$BODY$
 LANGUAGE plpgsql VOLATILE
  COST 100;

   --------------------------WYKONANE 23.04.2014R.-------------------------------------------------------------------------------------------
 